home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / comm / term / term43_extras.lha / Extras / HydraCom / hydracom.doc < prev    next >
Text File  |  1994-01-19  |  67KB  |  2,078 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                          HydraCom Version 1.00
  20.  
  21.                     A sample implementation of the
  22.               HYDRA Bi-Directional File Transfer Protocol
  23.  
  24.                         HydraCom was written by
  25.               Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT
  26.              COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED
  27.  
  28.                   The HYDRA protocol was designed by
  29.             Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT and
  30.                        Joaquim H. Homrighausen
  31.              COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED
  32.  
  33.  
  34.  
  35. Blank page                                                     HydraCom
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93. Blank page                                                     HydraCom
  94.  
  95.  
  96.  
  97. HydraCom                   Table of contents                     Page i
  98.  
  99.  
  100. 1   General Information   . . . . . . . . . . . . . . . . . . . .     1
  101.     1.1     Protocol information  . . . . . . . . . . . . . . . .     1
  102.     1.2     Program description   . . . . . . . . . . . . . . . .     1
  103.     1.3     Program features  . . . . . . . . . . . . . . . . . .     2
  104.     1.4     System hard- and software requirements  . . . . . . .     2
  105.     1.5     Disclaimer  . . . . . . . . . . . . . . . . . . . . .     2
  106.     1.6     HydraCom / source license   . . . . . . . . . . . . .     3
  107.     1.7     Hydra protocol license  . . . . . . . . . . . . . . .     4
  108.     1.8     Credits   . . . . . . . . . . . . . . . . . . . . . .     5
  109.     1.9     Acknowledgements  . . . . . . . . . . . . . . . . . .     5
  110.     1.10    Hydra in other software (also FidoNet mailers!)   . .     5
  111.     1.11    Other environments/operating systems  . . . . . . . .     5
  112.     1.12    Where to send your spare funds  . . . . . . . . . . .     6
  113.     1.13    Support and contact addresses . . . . . . . . . . . .     6
  114.  
  115. 2   Description of specific features  . . . . . . . . . . . . . .     7
  116.     2.1     Split screen chat during a Hydra session  . . . . . .     7
  117.     2.2     Resuming aborted transfers  . . . . . . . . . . . . .     7
  118.     2.3     Networks and Multitaskers   . . . . . . . . . . . . .     7
  119.     2.4     Using a FOSSIL driver   . . . . . . . . . . . . . . .     9
  120.     2.5     Using a Video FOSSIL  . . . . . . . . . . . . . . . .     9
  121.     2.6     AutoStart Hydra transfers   . . . . . . . . . . . . .    10
  122.     2.7     Aborting a Hydra transfer   . . . . . . . . . . . . .    10
  123.     2.8     Configuration utility HydraCfg  . . . . . . . . . . .    10
  124.     2.9     Reliability   . . . . . . . . . . . . . . . . . . . .    11
  125.     2.10    Protocol performance  . . . . . . . . . . . . . . . .    11
  126.     2.11    HST and other half-duplex links   . . . . . . . . . .    12
  127.  
  128. 3   Commands and Options  . . . . . . . . . . . . . . . . . . . .    13
  129.     3.1 Options   . . . . . . . . . . . . . . . . . . . . . . . .    14
  130.         3.1.1   port N  . . . . . . . . . . . . . . . . . . . . .    14
  131.         3.1.2   speed N   . . . . . . . . . . . . . . . . . . . .    14
  132.         3.1.3   line N  . . . . . . . . . . . . . . . . . . . . .    14
  133.         3.1.4   parity  . . . . . . . . . . . . . . . . . . . . .    15
  134.         3.1.5   dropdtr   . . . . . . . . . . . . . . . . . . . .    15
  135.         3.1.6   nocarrier   . . . . . . . . . . . . . . . . . . .    15
  136.         3.1.7   noinit  . . . . . . . . . . . . . . . . . . . . .    15
  137.         3.1.8   handshake <flg>   . . . . . . . . . . . . . . . .    15
  138.         3.1.9   log <file>  . . . . . . . . . . . . . . . . . . .    15
  139.         3.1.10  level <loglevel>  . . . . . . . . . . . . . . . .    16
  140.         3.1.11  result <filename> (DSZ logfile)   . . . . . . . .    16
  141.         3.1.12  noresume  . . . . . . . . . . . . . . . . . . . .    16
  142.         3.1.13  nostamp   . . . . . . . . . . . . . . . . . . . .    17
  143.         3.1.14  receive <path>  . . . . . . . . . . . . . . . . .    17
  144.         3.1.15  nobell  . . . . . . . . . . . . . . . . . . . . .    17
  145.         3.1.16  mailer  . . . . . . . . . . . . . . . . . . . . .    17
  146.         3.1.17  nooriginator  . . . . . . . . . . . . . . . . . .    17
  147.         3.1.18  hdxlink   . . . . . . . . . . . . . . . . . . . .    17
  148.         3.1.19  txwindow N  . . . . . . . . . . . . . . . . . . .    18
  149.         3.1.20  rxwindow N  . . . . . . . . . . . . . . . . . . .    18
  150.         3.1.21  link options  . . . . . . . . . . . . . . . . . .    18
  151.     3.2 Commands  . . . . . . . . . . . . . . . . . . . . . . . .    19
  152.         3.2.1   send [<filespec> ...] [@<ctlfile> ...]  . . . . .    19
  153.  
  154.  
  155. HydraCom                                                         Page i
  156.  
  157.  
  158.  
  159. Page ii              Table of contents (continued)             HydraCom
  160.  
  161.         3.2.2   get [<path>[<name>]]  . . . . . . . . . . . . . .    20
  162.         3.2.3   term  . . . . . . . . . . . . . . . . . . . . . .    20
  163.     3.3 Default configuration file  . . . . . . . . . . . . . . .    21
  164.  
  165. 4   Using HydraCom as an external protocol  . . . . . . . . . . .    22
  166.     4.1 Interface methods   . . . . . . . . . . . . . . . . . . .    22
  167.         4.1.1   Opus-style external protocol interface  . . . . .    22
  168.         4.1.2   DSZ-style external protocol interface   . . . . .    23
  169.         4.1.3   Exit codes (errorlevels)  . . . . . . . . . . . .    23
  170.     4.2 Using HydraCom with terminal programs   . . . . . . . . .    24
  171.         4.2.1   Telix   . . . . . . . . . . . . . . . . . . . . .    24
  172.         4.2.2   Communique    . . . . . . . . . . . . . . . . . .    24
  173.         4.2.3   Commo   . . . . . . . . . . . . . . . . . . . . .    25
  174.         4.2.4   Procomm Plus  . . . . . . . . . . . . . . . . . .    25
  175.         4.2.5   TeleMate  . . . . . . . . . . . . . . . . . . . .    26
  176.         4.2.6   Boyan   . . . . . . . . . . . . . . . . . . . . .    26
  177.         4.2.7   Qmodem  . . . . . . . . . . . . . . . . . . . . .    27
  178.     4.3 Using HydraCom with BBS software  . . . . . . . . . . . .    28
  179.         4.3.1   Maximus   . . . . . . . . . . . . . . . . . . . .    28
  180.         4.3.2   Opus  . . . . . . . . . . . . . . . . . . . . . .    28
  181.         4.3.3   QuickBBS and RemoteAccess (FileDoor)  . . . . . .    29
  182.         4.3.4   RBBS-PC   . . . . . . . . . . . . . . . . . . . .    29
  183.         4.3.5   Wildcat!  . . . . . . . . . . . . . . . . . . . .    29
  184.         4.3.6   XBBS  . . . . . . . . . . . . . . . . . . . . . .    31
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217. Page ii                                                        HydraCom
  218.  
  219.  
  220.  
  221. HydraCom                                                         Page 1
  222.  
  223. 1   General Information 
  224.  
  225.  
  226. 1.1     Protocol information 
  227.  
  228. Full specifications of the Hydra protocol as well as the HydraCom
  229. sources (in C) are freely available. Developers may use either or both
  230. to implement Hydra into their own software, port Hydra to other
  231. machines and operating environments, etc.
  232. The packages containing these files have been widely distributed, but
  233. will always be available from the authors' own systems.
  234. Please refer to the license and other important information further
  235. along this document.
  236.  
  237.  
  238. 1.2     Program description  
  239.  
  240. HydraCom is a stand-alone driver which implements the Hydra
  241. bidirectional file transfer protocol developed by Arjen Lentz and
  242. Joaquim Homrighausen.
  243.  
  244. HydraCom provides a service for communications programs which do not
  245. (yet) have with Hydra support internally. HydraCom can be installed as
  246. an external transfer protocol driver like other external drivers.
  247. HydraCom also provides a simple terminal function.
  248. Because HydraCom's sources are available, they can also serve as a
  249. sample implementation of the Hydra protocol for other developers to
  250. take a look at.
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279. HydraCom                                                         Page 1
  280.  
  281.  
  282.  
  283. Page 2                                                         HydraCom
  284.  
  285. 1.3     Program features 
  286.  
  287.  -  Simultanous bidirectional file transfer
  288.  -  Split screen chat during Hydra session, without line noise
  289.  -  Comprehensive manual for installation and advanced features
  290.  -  Program source code and protocol specification freely available
  291.  -  Stand alone or external call from any BBS or terminal software
  292.  -  Compatible with both Opus and DSZ style interfacing
  293.  -  Hydra (and HydraCom) can be used in FidoNet Technology Mailers
  294.  -  Userfriendly full-screen setup utility HydraCfg, mouse supported
  295.  -  Good stability on bad connections, speedy error recovery
  296.  -  Safe protocol, no deadlocks or misunderstandings
  297.  -  Tolerance towards network and satellite delays
  298.  -  Handles 7-bit or even less transparent connections
  299.  -  Seperate escaping options for Telenet, XON/XOFF, 7bit, etc
  300.  -  Maximum performance without ever compromising reliability
  301.  -  All packets (including chat packets) protected by CCITT CRC-32
  302.  -  Retain file's original size and date/time
  303.  -  Automatic startup with special character sequence (AutoStart)
  304.  -  Resume aborted transfers without unfinished files floating about
  305.  -  Numerous transfer options for sysop and users
  306.  -  Supports FOSSIL and VideoFOSSIL
  307.  -  Internal communication routines supporting 16550 UART
  308.  -  Hardware and software flow control
  309.  -  Shared file open for network operation
  310.  -  Internal small terminal with ANSI/VT100 emulation and AutoStart
  311.  -  Fast screen writes, DESQview aware
  312.  -  Releases spare CPU time to DESQview or DOS
  313.  
  314.  
  315. 1.4     System hard- and software requirements 
  316.  
  317.  -  IBM XT, XT286, AT286, 386, 486, PS/2 or clone/compatible
  318.     computers.
  319.  -  MS, PC or compatible DOS version 3.00 or higher.
  320.  -  About 128K of free memory space.
  321.  -  HydraCom is able to operate with certain non IBM-compatible serial
  322.     hardware, provided a suitable FOSSIL and perhaps video FOSSIL
  323.     driver is installed. There are various FOSSIL drivers available
  324.     for true compatibles, like Opus!Comm, X00 and BNU, but also for
  325.     the Tandy 2000, Heath Zenith, DEC Rainbow, Philips :YES and many
  326.     others. Some of those are implemented as TSR (Terminate and Stay
  327.     Resident) programs, others (like X00.SYS and BNU.SYS) as device
  328.     drivers.In addition, use of a Video FOSSIL is supported.
  329.  
  330.  
  331. 1.5     Disclaimer 
  332.  
  333. This program is provided "as is" and comes with no warranties of any
  334. kind, either expressed or implied. In no event shall the authors be
  335. liable to you or anyone else for any damages, including any lost
  336. profits, lost savings or other incidental or consequential damages
  337. arising out of the use or inability to use this software.
  338.  
  339.  
  340.  
  341. Page 2                                                         HydraCom
  342.  
  343.  
  344.  
  345. HydraCom                                                         Page 3
  346.  
  347.  
  348. 1.6     HydraCom / source license 
  349.  
  350. HydraCom, its associated utilities (HydraCfg) and the HydraCom
  351. sourcecode may be freely distributed, copied and used, no fee charged.
  352. All files, executables and sourcecode remain the copyrighted property
  353. of Arjen G. Lentz and LENTZ SOFTWARE-DEVELOPMENT.
  354. The distribution archives should remain intact with no files removed
  355. or modified. For special purposes, it is allowed to repack the
  356. archives using a different compression system.
  357.  
  358. HydraCom may be bundled up with for instance terminal or BBS packages,
  359. even commercial ones, provided the buyer/user is clearly informed
  360. about the fact that Hydra and HydraCom are free, not owned by the
  361. distributor/retailer in question, and is not included in any possible
  362. charge regarding the rest of the package. This documentation must also
  363. be present so the user can inform himself about Hydra and HydraCom.
  364. The same rules apply to inclusion in shareware and CD-ROM libraries.
  365. In all cases, the author of HydraCom must be given credit in any
  366. informational screens and literature that contain such information.
  367.  
  368. The Hydra/HydraCom sourcecode may also be freely used and integrated
  369. into other software or library, provided this is clearly stated in any
  370. informational screens and literature pertaining to this program, and
  371. credit is given to the original author. If the sourcecode of that
  372. program or library is released or otherwise published, the notices
  373. present at the top of every Hydra/HydraCom source file must be
  374. retained in their original unmodified form.
  375.  
  376. In addition to the above license, everyone using any part of the
  377. sourcecode, programs or files is fully bound by the general license of
  378. the Hydra protocol as present in the Hydra protocol description
  379. document. For easy reference, the paragraph in question is reprinted
  380. below.
  381.  
  382. Any use of, or operation on (including copying/distributing) any of
  383. the above mentioned files implies full and unconditional acceptance of
  384. this license and disclaimer.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403. HydraCom                                                         Page 3
  404.  
  405.  
  406.  
  407. Page 4                                                         HydraCom
  408.  
  409. 1.7     Hydra protocol license 
  410.  
  411. You are granted a license to implement the HYDRA file transfer
  412. protocol, HYDRA hereafter, in your own programs and/or use the sample
  413. source code and adapt these to your particular situation and needs;
  414. subject to the following conditions:
  415.  
  416.  -  You must refer to it as the HYDRA file transfer protocol, and you
  417.     must give credit to the authors of HYDRA in any information
  418.     screens or literature pertaining to your programs that contains
  419.     other such information (credits, your own copyrights, etc.).
  420.  
  421.  -  HYDRA will always remain backwards compatible with previous
  422.     revisions. HYDRA allows for expansion of its features without
  423.     interfering with previous revisions. It is, however, important
  424.     that different people do not expand the protocol in different
  425.     directions. We therefore ask you to contact us if you have any
  426.     needs/ideas regarding HYDRA, so development can be synchronized
  427.     and beneficial to all.
  428.  
  429.  -  If your implementation cannot converse with past or future
  430.     revisions as supplied by us, then you must refer to it as "HYDRA
  431.     derived", or as "a variation of HYDRA", or words to that effect.
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465. Page 4                                                         HydraCom
  466.  
  467.  
  468.  
  469. HydraCom                                                         Page 5
  470.  
  471. 1.8     Credits 
  472.  
  473. Zygimantas Cepaitis, Jan Stozek, Jac Kersing, Joaquim Homrighausen,
  474. Jeroen van Drie, Martin Cleaver, Henk Wevers, Jan Bredenbeek, Ron van
  475. der Nagel, and all other equally friendly creatures of the universe
  476. and cyberspace are hereby saluted in gratitude for their diverse
  477. efforts regarding the Hydra protocol and this software.
  478.  
  479. HYDRA was designed by Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT, and
  480. Joaquim H. Homrighausen.
  481.  
  482.  
  483. 1.9     Acknowledgements 
  484.  
  485.  -  IBM PC, XT, AT, PS/2 and PC-DOS are trademarks of International
  486.     Business Machines Inc.
  487.  -  MS-DOS is a registered trademark of Microsoft Corporation.
  488.  -  All other brand and product names are trademarks or registered
  489.     trademarks of their respective holders.
  490.  
  491.  
  492. 1.10    Hydra in other software (also FidoNet mailers!) 
  493.  
  494. It's simple, nag the author of that software and give him this package
  495. with all the information. There is not a single reason for the
  496. developer in question not to integrate the Hydra protocol in his/her
  497. software. It will even add to its value. And if they don't do it now,
  498. they'll have to later after the competition has done it...
  499. A number of FidoNet technology mailers offer Hydra as their primary
  500. protocol. Please refer to the HYDRA specifications for detailed
  501. information about HYDRA in FTS-0006 (YooHoo) and EMSI mailsessions.
  502.  
  503.  
  504. 1.11    Other environments/operating systems 
  505.  
  506. Ports of a Hydra source (or a new implementation) to other platforms
  507. and operating systems are strongly encouraged. Because of the
  508. protocol's extreme flexibility Hydra may run on machines with the most
  509. severe restrictions where other protocols could never work.
  510. Please send us a note if you've implemented or ported Hydra, so we can
  511. keep track of its progress accross the different platforms in
  512. cyberspace. If you can send us sources or executables, even better.
  513. We will try to maintain a library of all this stuff.
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527. HydraCom                                                         Page 5
  528.  
  529.  
  530.  
  531. Page 6                                                         HydraCom
  532.  
  533. 1.12    Where to send your spare funds 
  534.  
  535. The HydraCom executable and full sourcecode have been made available
  536. free of charge in order to aid rapid distribution, acceptance and
  537. integration of this new protocol in existing and new libraries,
  538. terminal, BBS and other software, and the like.
  539. However, a donation recognizing my work would be very much
  540. appreciated, especially if you are making money of it yourself.
  541. Such donations will be used specifically on small practical
  542. datacommunications projects and investments in Eastern Europe I am
  543. involved in, at this moment particularly in Lithuania.
  544. Unless you don't want it, your name will be listed in a support file.
  545. If you contact me at the address below before sending a donation, I
  546. may be able to provide you with an address or account number in your
  547. vicinity rather than having you waste time, effort and money on
  548. international transfers.
  549. Any donation, however small, will thus be used purposefully for the
  550. good of communications in general.
  551. If because of Hydra you are making a lot of money off your Bulletin
  552. Board, library, software or distribution business, you may want to
  553. consider a larger or periodical donation.
  554. Thanks for your support! Arjen Lentz.
  555.  
  556.  
  557. 1.13    Support and contact addresses
  558.  
  559. This software being free, there is no real support it. However, I will
  560. try to help you solving any problems if you ask nicely, and perhaps
  561. other users can be of assistance too.
  562. In FidoNet a HYDRA conference may be available near you for discussing
  563. the protocol and its implementations.
  564.  
  565. Hydra and HydraCom were designed and written by:
  566.  
  567.     Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT
  568.     Langegracht 7B, 3811 BT  Amersfoort, The Netherlands
  569.     AINEX-BBS +31-33-633916 (V.32BIS/V.42BIS/HST14k4)
  570.     FidoNet node 2:283/512 (Arjen Lentz)
  571.     Internet: arjen_lentz@f512.n283.z2.fidonet.org
  572.  
  573. The Hydra protocol was designed in cooperation with:
  574.  
  575.     Joaquim H. Homrighausen
  576.     389, route d'Arlon
  577.     L-8011 Strassen
  578.     Luxembourg
  579.     FidoNet 2:270/17
  580.     joho@ae.lu
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589. Page 6                                                         HydraCom
  590.  
  591.  
  592.  
  593. HydraCom                                                         Page 7
  594.  
  595. 2   Description of specific features 
  596.  
  597.  
  598. 2.1     Split screen chat during a Hydra session 
  599.  
  600. During a Hydra transfer you can chat with someone on the other side,
  601. and without that dreaded line noise! Just like all other packets, chat
  602. data is protected by CRC-32 and retransmitted when it doesn't come
  603. accross unscaved.
  604. Once a Hydra session is past the init state, you can start chat chat
  605. mode on your side by pressing Alt-C. A message is sent to the remote
  606. informing about this fact. You type in the bottom window, and any text
  607. from the remote appears in the upper window (split screen). Meanwhile
  608. you can still keep track of the file transfer progress at the op of
  609. the screen.
  610. The chat option does not effect protocol reliability. A Hydra session
  611. is prolonged even after all files have been sent/received, but only so
  612. long as both sides are active in chat mode. If one side quits, the
  613. session is then immediately finished.
  614. You can end chat mode on your side by pressing Alt-C again.
  615. If you type nothing in 60 seconds, chat mode is automatically ended.
  616. Hydra will inform you in your local window at what point it iss
  617. possible to start a chat mode. Similarly, informative messages about
  618. the chat facilities on the other side will appear in your remote
  619. window.
  620. During file transfer, chat text will appear in chunks. A smooth chat
  621. would serously degrade performance of the file transfers!
  622. Bulletin Board sysops may want to disable the bell noise of the chat
  623. facility with the 'nobell' option. Chat will still be available then,
  624. but without unwanted noise from the remote.
  625.  
  626.  
  627. 2.2     Resuming aborted transfers 
  628.  
  629. HydraCom does not allow such uncompleted files to float around on your
  630. disk, but rather renames the file to a unique file name and keeps a
  631. log with the original file-information of all interrupted transfers in
  632. that directory; this is an especially useful feature for BBS, because
  633. you can now enable bad-transfer recovery on upload without having to
  634. keep track of incomplete files. And for users it saves time because
  635. they do not have to transfer the complete file allover again, but only
  636. the part which was not yet transferred.
  637. This feature may be disabled with the 'noresume' option.
  638.  
  639.  
  640. 2.3     Networks and Multitaskers 
  641.  
  642. HydraCom opens files in shared mode so that it may be used in a
  643. multiline environment on LANs and under multitaskers such as DESQview.
  644. You just need to make sure any control files have different names
  645. (correct task number, in case of the Opus-interface).
  646.  
  647.  
  648.  
  649.  
  650.  
  651. HydraCom                                                         Page 7
  652.  
  653.  
  654.  
  655. Page 8                                                         HydraCom
  656.  
  657. 2.4     Using a FOSSIL driver 
  658.  
  659. In addition to the internal serial communication routines the program
  660. can also make use of the popular FOSSIL interface, which enables less-
  661. compatible MS-DOS machines to run the same software without special
  662. modifications, just after loading another FOSSIL driver designed for
  663. that machine.
  664. The internal communication routines automatically detect and use FIFOs
  665. in the the 16550 UART, providing better throughput at high speed. A
  666. 16550 also decreases the chance of bytes getting lost (overrun).
  667. Also on some fully compatible machines a FOSSIL driver may give better
  668. results than the internal routines. Most BBS and point systems will
  669. usually already have a FOSSIL driver resident.
  670. For best results, set the FOSSIL receive and transmit buffers to at
  671. least 4KB (4096 bytes). HydraCom will complain if either or both are
  672. smaller, but the program will still function. Smaller buffers may
  673. cause more CPU time to be used, a lower transfer performance, and
  674. bytes may be lost causing transmission errors.
  675.  
  676.  
  677. 2.5     Using a Video FOSSIL 
  678.  
  679. The distributed executable HydraCom.EXE uses a windowing library which
  680. features fast direct screen access (DESQview aware), internal extended
  681. ANSI/VT-100 emulation for the terminal, and the capability to use a
  682. Video FOSSIL (like the VFOS_IBM/VFOS_BIO BinkleyTerm screen drivers by
  683. Bob Hartman).
  684. If you use a Video FOSSIL with HydraCom, make sure you have very
  685. recent version!  Old versions of VFOS_IBM and VFOS_BIO have a bug in a
  686. couple of functions that the windowing library uses. BinkleyTerm does
  687. not use these functions, so you may not have noticed this problem
  688. before. Contact me for patched versions, or the corrected Video FOSSIL
  689. source files.
  690. All information HAS been forwarded to Bob Hartman.
  691.  
  692. Note: when compiling the HydraCom sources yourself without
  693. modification, console I/O functions are used because the windowing
  694. library is not freely available. Contact me if you are interested in
  695. purchasing this library anyway (includes the complete sources in C and
  696. inline assembler).
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713. Page 8                                                         HydraCom
  714.  
  715.  
  716.  
  717. HydraCom                                                         Page 9
  718.  
  719. 2.6     AutoStart Hydra transfers 
  720.  
  721. A Hydra session can be started automatically upon receipt of a special
  722. AutoStart sequence:
  723.  
  724.     ASCII:    24    99  65  92 102  53  92  97  51    24    97
  725.     Chars:  Ctrl-X   c   A   \   f   5   \   a   3  Ctrl-X   a
  726.  
  727. This is the Hydra START packet, which is always hex-encoded for clear
  728. passage through even the most restricted links.
  729. Before the START packet Hydra also transmits the letters 'hydra' in
  730. lowercase followed by a CR (ASCII 13), to start the Hydra protocol
  731. from for instance a Unix command line.
  732. To be certain the string is detected, strip the 8th bit of all
  733. incoming bytes and then ignore all ASCII characters 0-31 and 127
  734. except ASCII 24 before comparing it to the next character in the
  735. autostart string.
  736.  
  737.  
  738. 2.7     Aborting a Hydra transfer 
  739.  
  740. A Hydra session may be aborted at any moment by pressing the Escape
  741. key.
  742. When your end is not engaged in a Hydra session but the other side is,
  743. typing at least 5 consequtive Ctrl-X will abort the remote Hydra.
  744.  
  745.  
  746. 2.8     Configuration utility HydraCfg 
  747.  
  748. To create and edit the default configuration of HydraCom, a utility
  749. HydraCfg is provided where all options and settings can be changed and
  750. checked in a user friendly full screen windowed environment.
  751. If a mouse driver is present, it may be used to move the cursor around
  752. and select options.
  753.  
  754. When HydraCfg is called without commandline parameters, it searches
  755. for HydraCom.EXE first in the current then in all the directories
  756. listed in the DOS PATH. If found, and a file HydraCom.CFG is also
  757. present in that directory, that is the file that will be read and
  758. edited. If HydraCom.CFG doesn't yet exist, HydraCfg asks if you want
  759. to create it.
  760. If HydraCom.EXE is not found, a HydraCom.CFG may be created/edited in
  761. the current directory.
  762. You may also specify a full path/filename of a HydraCom.CFG style file
  763. on the HydraCfg command line, in which case no search is done.
  764. See the section about the default configuration file for more
  765. information.
  766. HydraCfg can provide additional information about options on the
  767. bottom line of the screen, if the file HydraCfg.HTX (helptext) is
  768. present in the same directory where HydraCom.EXE is located.
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775. HydraCom                                                         Page 9
  776.  
  777.  
  778.  
  779. Page 10                                                        HydraCom
  780.  
  781. 2.9     Reliability 
  782.  
  783. A remote machine may crash, jump out of a batch file or otherwise die
  784. on you while you are on-line. Hydra maintains a special braindead
  785. timer, aborting a session when there has been no REAL progress for two
  786. minutes.
  787. This may save you a lot of money when using Hydra in an automated
  788. environment, especially on international phonecalls!
  789. Other protocols have been known to keep a transatlantic line open for
  790. more than 6 hours with nothing happening.... big auch.
  791.  
  792. The Hydra protocol has been designed in such a way that deadlocks or
  793. misunderstandings between the two sides cannot occur.
  794.  
  795. Hydra is extremely tolerant towards network and satellite delays.
  796.  
  797. If Hydra reports a 'timeout' or 'retry', this does not necessarily
  798. mean something terrible is happening. The protocol has a different
  799. design and therefore behaves differently from what you will be used
  800. to.
  801. If things go really wrong the transfer will be aborted anyway so there
  802. is no need to worry, the messages are just so you have some
  803. information about what is going on.
  804. For example, Hydra sometimes re-transmits a packet after a number of
  805. seconds, just in case the other side has missed it previously. Because
  806. of line delay the acknowledgement to the original packet may already
  807. be under way. In this case the duplicate packet is ignored, so the
  808. transfer is not delayed. If a packet does get lost, this alternative
  809. tactic speeds up recovery.
  810.  
  811.  
  812. 2.10    Protocol performance 
  813.  
  814. Contrary to the hype surrounding other protocols, Hydra does not
  815. pretend to be the fastest file transfer protocol in cyberspace.
  816. In general it is about as fast as the other top protocols, giving you
  817. a choice on grounds of reliability and versatility rather than
  818. outragious claims.
  819.  
  820. Every protocol has a certain amount of overhead because of error
  821. detection and other facilities; this overhead has of course been
  822. minimized, but Hydra will not provide the user with options to
  823. increase performance in such a way that reliability is affected.
  824. This is what other protocols sometimes do, and often don't tell the
  825. user about it (nor of the consequences). Even so called 'errorfree
  826. connections' such as MNP and V.42 links are NOT 100% errorfree. Some
  827. errors slip through, and sometimes a byte gets lost or mangled between
  828. the modem and the computer or the communications routines.
  829. And to be fair, the actual gain in performance is always minimal; in
  830. rounded percentage terms it sounds appealing but in effect most claims
  831. amount to no more than about 10 seconds on a transfer of more than 10
  832. minutes. Hardly worth it, wouldn't you agree?
  833.  
  834.  
  835.  
  836.  
  837. Page 10                                                        HydraCom
  838.  
  839.  
  840.  
  841. HydraCom                                                        Page 11
  842.  
  843. Some other bidirectional protocols add up the performance of the two
  844. directions, of course giving nice figures when comparing to
  845. unidirectional protocols. But this is really unfair.
  846. Hydra reports separate figures for each file transfered, and stays on
  847. the conservative side. You should not trust the performance ratings
  848. for transfers which last less than a minute!
  849.  
  850. Okay.. you don't have to believe all this: ignore the numbers reported
  851. by the various protocols, and time a transfer yourself.
  852. Make sure you use a file large enough for at least 5 to 10 minutes
  853. transfertime, otherwise the results will not be reliable for
  854. comparison.
  855. And watch the behaviour of a protocol on for instance a bad
  856. connection; will it choke and abort or handle the situation well?
  857.  
  858.  
  859. 2.11    HST and other half-duplex links 
  860.  
  861. Hydra can also handle HST and similar links that have one high-speed
  862. channel and only a low-speed backchannel. Simultanous bidirectional
  863. transfer is not effective in this case, causing continuous line
  864. turnarounds and slowing down transmission dramatically.
  865. If you are a user, want call a BBS at HST speed, and upload and
  866. download in the same session, use the 'nooriginator' and 'hdxlink'
  867. options together. HydraCom will then first receive all files, then
  868. transmit.
  869. If you set the options even for other real full duplex connections
  870. like V.22(BIS) and V.32(BIS), HydraCom will not use its bidirectional
  871. capability then either. So use this only when required by the specific
  872. modem connect.
  873. In practise, it is easier if you just upload and download in a
  874. seperate Hydra session if you have an HST connect. Then there is no
  875. need to use these options at all.
  876. Bulletin Board sysops should NEVER set these options at all!
  877. The Hydra protocol is protected against deadlock; if both sides are in
  878. one-way transfer mode, this will be detected and one-way mode switched
  879. off.
  880. Of course, if you can choose between for instance an HST and a real
  881. full duplex connect, the choice is easy... full duplex every time!
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899. HydraCom                                                        Page 11
  900.  
  901.  
  902.  
  903. Page 12                                                        HydraCom
  904.  
  905. 3   Commands and Options 
  906.  
  907. Usage:
  908. HydraCom [port N] [speed N] [<options> ...] <command> [<parms> ...] 
  909.  
  910. General:
  911. options:
  912.     port N          Comport [1..16] (default COM1)
  913.     speed N         Com-speed [300..57600] (default current speed)
  914.     line N          Actual line speed (use 'speed' to set comport)
  915.     parity          Set 7E1 instead of 8N1 (forces option highbit)
  916.     dropdtr         Drop DTR if carrier is lost
  917.     nocarrier       Disable carrier detection
  918.     noinit          Don't init/deinit FOSSIL driver
  919.     handshake <flg> Enable soft (XON/XOFF), hard (RTS/CTS) or both
  920.     log <file>      Logfile to log the goings on
  921.     level N         Level of logging, 0=max, 6=min (default=2)
  922.     result <file>   Log transfer info to DSZ compatible logfile
  923.     noresume        Disable receive bad-transfer recovery
  924.     nostamp         Don't stamp with original but current filetime
  925.     receive <path>  Path to store any received files
  926.     nobell          Disable bell noise in Hydra session chat feature
  927. link options:
  928.     mailer          Mailer mode, used by Dutchie (see documentation)
  929.     nooriginator    Not originator, fallback to one-way transfer
  930.                     allowed
  931.     hdxlink         Force one-way transfer mode (only with
  932.                     nooriginator)
  933.     xwindow N       Transmitter window size (default 0=full streaming)
  934.     rxwindow N      Receiver window size (default 0=full streaming)
  935.     option xonxoff  Escape/strip XON/XOFF characters
  936.     option telenet  Escape/strip Telenet escape
  937.     option ctlchrs  Escape/strip ASCII 0-31 and 127
  938.     option highctl  Apply above three also for 8th bit
  939.     option highbit  Encode for 7 bit, strip 8th bit 
  940. commands:
  941.     send [<fspec> ...]      Send <fspec>/@<ctlfile>/nothing + receive
  942.     get [<path>[<name>]]    Only get file(s), if name is specified, get
  943.                             first file (name override) and skip all
  944.                             others
  945.     term                    Small terminal + send & AutoStart
  946.                             capability
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961. Page 12                                                        HydraCom
  962.  
  963.  
  964.  
  965. HydraCom                                                        Page 13
  966.  
  967. 3.1 Options 
  968.  
  969. An option modifies the default settings of HydraCom, like the
  970. communications port number and speed of the communications port.
  971. Each option consists of a keyword, sometimes followed by a string or
  972. number. Keywords may be abbreviated to their first three letters.
  973. For example: POR 2 means that HydraCom should use com port 2.
  974. This is not true for any parameters following an option, these should
  975. all be fully spelled out.
  976. Case is not important. Invalid options and parameters are ignored.
  977.  
  978.  
  979. 3.1.1   port N 
  980.  
  981. Select the comport HydraCom will use, in the range of 1 to 16. The
  982. default value is COM1.  The internal communication routines can only
  983. handle port COM1 to COM4 (3F8/IRQ4, 2F8/IRQ3, 3E8/IRQ4, 2E8/IRQ3).
  984.  
  985.  
  986. 3.1.2   speed N 
  987.  
  988. When using a FOSSIL driver, valid communication speeds are 300, 1200,
  989. 2400, 4800, 9600, 19200 and 38400 bits per second.  With the internal
  990. async routines, any speed between 300 and 57600 BPS may be given.
  991. If the SPEED option is not specified, HydraCom will use the current
  992. speed of the port. Locking of the speed should be done in the FOSSIL
  993. setup, not in HydraCom.
  994. If the FOSSIL is locked the speed statement does not have any effect.
  995.  
  996.  
  997. 3.1.3   line N 
  998.  
  999. For high-speed modems, the SPEED option determines the speed of the
  1000. comport while LINE determines the speed that will used for efficiency
  1001. calculations, data packet size and timeouts.
  1002. It is absolutely vital that HydraCom knows what speed the line has,
  1003. and the program has no way of knowing unless you inform it!
  1004. If the FOSSIL is not locked and the speed option is present, the line
  1005. option need not be specified as well.
  1006. The thresholds for data packet size and timeouts are at 1200, 2400,
  1007. and 4800 bps. Ie. if speed is set to 38400 but the actual link speed
  1008. is 14400, there's no need to use the line option as for HydraCom there
  1009. is no practical difference between 14400 and 38400 when calculating
  1010. the necessary figures.
  1011. But if the comport is locked at 9600 or 38400 and the line speed is
  1012. 2400 or even lower,  you'll have problems if you don't specify the
  1013. correct line speed here.
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023. HydraCom                                                        Page 13
  1024.  
  1025.  
  1026.  
  1027. Page 14                                                        HydraCom
  1028.  
  1029. 3.1.4   parity 
  1030.  
  1031. The parity option selects 7 databits, even parity (7E1) instead of the
  1032. default 8 databits no parity (8N1), also forcing 'option highbit' so
  1033. the Hydra protocol makes the necessary arrangements for a 7-bit
  1034. connection.
  1035.  
  1036.  
  1037. 3.1.5   dropdtr 
  1038.  
  1039. This option will probably only be useful for BBS with modems set to
  1040. auto-answer. If specified, HydraCom will lower the DTR (Data Terminal
  1041. Ready) line on the serial port. For HAYES-compatible modems with a
  1042. set-up of S0=1 or something similar, this will cause the modem NOT to
  1043. answer the phone while the DTR remains low. The BBS then has time to
  1044. recycle and raise the DTR again when ready for the next call.
  1045.  
  1046.  
  1047. 3.1.6   nocarrier 
  1048.  
  1049. Mostly of use with certain null-modem cables or stand-alone operations
  1050. within the HydraCom terminal function, this option configures HydraCom
  1051. so it will not check the DCD (Data Carrier Detect) line on the serial
  1052. port. Normally, HydraCom will abort upon loss of carrier.
  1053.  
  1054.  
  1055. 3.1.7   noinit 
  1056.  
  1057. Do not initialise the FOSSIL on startup. Running under some software
  1058. like the mailer program Dutchie, HydraCom is not required nor supposed
  1059. to initialise the resident FOSSIL driver. This option will make sure
  1060. HydraCom will refrain from attempts at initialisation.
  1061.  
  1062.  
  1063. 3.1.8   handshake <flg> 
  1064.  
  1065. This option allows the enabling of various types of flow control.
  1066. SOFT enables xon/xoff handshaking, HARD enables rts/cts handshaking,
  1067. and BOTH obviously enables both software and hardware flow control.
  1068. FOSSIL drivers force RTS/CTS handshaking for a locked communications
  1069. port.
  1070. The internal communications routines (ie. the one used when there is
  1071. no FOSSIL driver present) do not support XON/XOFF handshaking, nor do
  1072. they apply RTS flow control (modem->computer). CTS flow (computer-
  1073. >modem) is supported.
  1074. Setting software flow control automatically forces on 'option xonxoff'
  1075. to make sure Hydra escapes these characters in its packets.
  1076.  
  1077.  
  1078. 3.1.9   log <file> 
  1079.  
  1080. If specified, HydraCom will log messages to this file as well as
  1081. printing them on the screen. The output is similar to the format used
  1082. by programs like Dutchie, The-Box, BinkleyTerm, Opus and Maximus.
  1083.  
  1084.  
  1085. Page 14                                                        HydraCom
  1086.  
  1087.  
  1088.  
  1089. HydraCom                                                        Page 15
  1090.  
  1091.  
  1092.  
  1093. 3.1.10  level <loglevel> 
  1094.  
  1095. This option is only really useful if LOG is also specified. Loglevel
  1096. may be anything from 0 to 6. Level 0 logs anything up to Hydra packet
  1097. control data. Level 6 logs only severe or fatal errors. The default
  1098. loglevel is 2.
  1099.  
  1100.  
  1101. 3.1.11  result <filename> (DSZ logfile) 
  1102.  
  1103. This option will create or append a DSZ (by Omen Technology)
  1104. compatible log file, which some programs (such as the RBBS-PC or XBBS
  1105. BBS) use to determine the outcome of a transfer.
  1106. The format is as follows:
  1107.  
  1108. <res> <byts> <bps> bps <cps> cps <err> errors <flow> <last> <fname>
  1109. <sn>
  1110.  
  1111. <res>       H = file is sent, R = file is received. 
  1112. <byts>      Actual number of bytes transferred.
  1113. <bps>       Line communication speed in bits per second.
  1114. <cps>       Protocol performance in characters per second. For very
  1115.             short transfers a rating of 9999 cps is given.
  1116. <flow>      Number of transmission errors occurred (0).
  1117. <err>       Number of flow control stoppages (0).
  1118. <last>      Size which was used for the last block in the transfer
  1119.             (1024).
  1120. <fname>     Full path and file name.
  1121. <sn>        Serial number of the program on the other side (0).
  1122.  
  1123. HydraCom will not write a result line for aborted transfers, but the
  1124. result file itself will always be created (empty).
  1125.  
  1126. Prior to processing any other options the DSZLOG environment variable
  1127. is checked and (if present) copied to the RESULT option file name.
  1128.  
  1129.  
  1130. 3.1.12  noresume 
  1131.  
  1132. By default, HydraCom uses an internal mechanism to keep track of
  1133. interrupted transfers: It keeps unfinished received files BAD-XFER.???
  1134. where ??? is a counter from 000 to 999 used to create a unique file
  1135. name. The original file name, date/time and size of the file are
  1136. logged to a file called BAD-XFER.LOG. Both files reside in the
  1137. directory where files are received. With NORESUME, HydraCom will not
  1138. keep/log unfinished downloads but instead deletes the partial file.
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147. HydraCom                                                        Page 15
  1148.  
  1149.  
  1150.  
  1151. Page 16                                                        HydraCom
  1152.  
  1153. 3.1.13  nostamp 
  1154.  
  1155. Don't retain the original file date/time information which was
  1156. transmitted, but stamp received files with the current date/time.
  1157. Some BBS software requires this to be able to scan for new files.
  1158.  
  1159.  
  1160. 3.1.14  receive <path> 
  1161.  
  1162. Files received through HydraCom will be stored in directory <path> if
  1163. this option is used. Otherwise files will accumulate in the current
  1164. directory.
  1165.  
  1166.  
  1167. 3.1.15  nobell 
  1168.  
  1169. Normally, the BEL character (Ctrl-G) will cause the remote system to
  1170. give a short beep. This may not be desired if HydraCom is for instance
  1171. used under a BBS, so with this option you can disable the beep. It
  1172. only applies to the chat mode during a Hydra tranfer session.
  1173.  
  1174.  
  1175. 3.1.16  mailer 
  1176.  
  1177. Selects mailer mode, changing HydraCom's behaviour slightly as
  1178. required by the Dutchie mailer which uses it as an external protocol
  1179. for FidoNet technology mail sessions.
  1180.  
  1181.  
  1182. 3.1.17  nooriginator 
  1183.  
  1184. Instructs HydraCom to NOT act as the 'originator' side in case of
  1185. trouble during a transfer. The 'answer' side will switch to one-way
  1186. transfer mode under certain conditions (equivalent to the hdxlink
  1187. option).
  1188. Normally you won't need this option yourself, its main use is for
  1189. programs like Dutchie in combination with the 'mailer' and 'hdxlink'
  1190. options.
  1191. Refer to the section about HST and other half-duplex modems earlier in
  1192. this document for a more complete description of these options.
  1193.  
  1194.  
  1195. 3.1.18  hdxlink 
  1196.  
  1197. Forces one-way transfer mode (half duplex Hydra, disables bi-
  1198. directional transfers). This option only works if nooriginator is
  1199. enabled as well. This option is meant for use on HST and similar
  1200. asymmetrical connections.  Refer to the section about the
  1201. 'nooriginator' option above for more information.
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209. Page 16                                                        HydraCom
  1210.  
  1211.  
  1212.  
  1213. HydraCom                                                        Page 17
  1214.  
  1215. 3.1.19  txwindow N  
  1216.  
  1217. The number of bytes to send before remote acknowledgement of reception
  1218. should be received. If it's set to 0 (default) HydraCom won't wait for
  1219. acks and use continuous streaming.
  1220. In severe situations, this option may be necessary for links via
  1221. packet switched networks and sattelites to prevent runahaid (windowed
  1222. streaming).
  1223. Primarily, this option is used when the machine on the other side
  1224. cannot handle simultanous serial and disk I/O (segmented streaming).
  1225. The exact receive and transmit window sizes are negotiated
  1226. individually by the two sides at the start of a Hydra session, so if
  1227. the other side has set a more limited value, that is the window size
  1228. that will be used for that direction.
  1229.  
  1230.  
  1231. 3.1.20  rxwindow N 
  1232.  
  1233. The number of bytes to receive before acknowledgement (ACK) should be
  1234. returned to the sender (default 0=none). Refer to the description of
  1235. the 'txwindow' option above for more information about windowed
  1236. transmission.
  1237.  
  1238.  
  1239. 3.1.21  link options 
  1240.  
  1241. Link options are used to send data over nondefault lines (such as 7-
  1242. bit links, and such). Hydra will encode all data to a suitable format,
  1243. send it, and the receptor will decode the data back to it's original
  1244. format.
  1245. option xonxoff  Escape/strip XON/XOFF characters. (ASCII 17 and 19)
  1246. option telenet  Escape/strip telenet escape sequence CR-@-CR (ASCII
  1247.                 13,64,13)
  1248. option ctlchrs  Escape/strip ASCII characters 0 to 31 and 127.
  1249. option highctl  Makes xonxoff/telenet/ctlchrs also escape/strip their
  1250.                 respective characters if the high bit.
  1251. option highbit  Encode for 7 bit transfers. (encodes 8 bit to 7 bit)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271. HydraCom                                                        Page 17
  1272.  
  1273.  
  1274.  
  1275. Page 18                                                        HydraCom
  1276.  
  1277. 3.2 Commands 
  1278.  
  1279. HydraCom expects a command at the end of the command line (ie after
  1280. all options). There are three possible commands: send, get and term.
  1281. Send is for sending files, get is to just receive files without
  1282. sending any, and term is the mini terminal.
  1283. All commands normally abort upon loss of carrier unless the
  1284. 'NOCarrier' option is used.
  1285.  
  1286.  
  1287. 3.2.1   send [<filespec> ...] [@<ctlfile> ...] 
  1288.  
  1289. The send command causes HydraCom to send <filespec.ext>.
  1290. If no file specification is given, this command will just act like a
  1291. get and just receive files.
  1292.  
  1293. @<listname.ext> will cause HydraCom to read a file called
  1294. <listname.ext> in [<drive:\path>] and send the files specified in that
  1295. text file. Each entry in that file should be placed on one line eg,
  1296. when you want to send TEST.*, NEWHYD?.ARJ and PAL_112.C, you could
  1297. place them in SEND.TXT, which could contain:
  1298. C:\MAIL\FILE\TEST.*
  1299. C:\DOCS\NEWHYD?.ARJ
  1300. E:\C\DEVLP\PAL_112.C
  1301.  
  1302. Normal file specifications and multiple @ctlfiles may be used on one
  1303. commandline, and you can specify paths and the usual DOS wildcards *
  1304. and ? (which are expanded to the file names which match the
  1305. specification).
  1306.  
  1307. In @ctlfiles aliasing and transfer options may be used.
  1308. Aliasing means that HydraCom will send a file with an alias name,
  1309. specified after that name, so if your @-file contain a line
  1310. C:\DOCS\ANY.TXT 01A551FC.A0D
  1311. then HydraCom will send the file ANY.TXT as 01A551FC.A0D.
  1312. A '#' sign as the first character on a line will cause HydraCom to
  1313. truncate the file(s) to zero length after succesful transfer. A caret
  1314. (^) tells HydraCom to delete that file after it has been sent.
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333. Page 18                                                        HydraCom
  1334.  
  1335.  
  1336.  
  1337. HydraCom                                                        Page 19
  1338.  
  1339. 3.2.2   get [<path>[<name>]] 
  1340.  
  1341. The get command may be used if there are no files to be sent, just
  1342. received.
  1343. With no parameter, get will put received files into either the current
  1344. directory or the directory specified in the 'receive' option.
  1345. If a path specification follows the get command, this overrides the
  1346. 'receive' option. A get path specification MUST have a trailing
  1347. backslash!
  1348. If a filename specified, HydraCom will receive just one file, store it
  1349. with the specified name, and refuse any other files the remote wants
  1350. to send. This 'feature' is provided because some software cannot
  1351. handle batch uploads and wants to know the name of the single file
  1352. before the transfer.
  1353.  
  1354.  
  1355. 3.2.3   term 
  1356.  
  1357. This activates HydraCom little built-in dumb terminal.
  1358. HCOM_DOS has ANSI emulation if you have ANSI.SYS loaded; HCOM_GEN has
  1359. an extended ANSI/VT-100 emulator in its windowing library.
  1360. Downloading in the HydraCom terminal is fully automatic, HydraCom
  1361. detects the remote has intiated a Hydra session (AutoStart). Any files
  1362. in the upload queue will also be transmitted.
  1363.  
  1364. There are several options and commands in the terminal mode:
  1365.  
  1366. PgUp:   Enter/edit file upload queue; HydraCom asks for file
  1367.         specification(s), wildcards are allowed. You may NOT specify a
  1368.         @ctlfile. No upload is started with this command, the specified
  1369.         files will be sent when either the remote initiates a session
  1370.         or when you press PgDn.
  1371. PgDn:   Download; HydraCom initiates a Hydra session and waits for
  1372.         incoming files/packets. Any files selected with PgUp will be
  1373.         sent. You cannot select files for download within HydraCom, you
  1374.         must do this within the BBS you're calling; ie. you can not
  1375.         just 'request' files from the remote during a Hydra session.
  1376. Alt-X:  Exit the terminal and HydraCom.
  1377. Alt-C:  Clears the screen and puts the cursor in the upper left corner.
  1378. Alt-H:  Hangup (on hook), this command drops the DTR line and causes an
  1379.         immediate log-off (BBS do have a G)oodbye command.. use it!).
  1380. Alt-E:  Toggle duplex, this command toggles the local echo mode.
  1381. Alt-B:  Toggle stripping the 8th bit of all incoming characters. This
  1382.         toggle is forced on if the 'parity' commandline option has been
  1383.         specified.
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395. HydraCom                                                        Page 19
  1396.  
  1397.  
  1398.  
  1399. Page 20                                                        HydraCom
  1400.  
  1401. 3.3 Default configuration file 
  1402.  
  1403. At start-up, HydraCom will check whether a file named <exename>.CFG
  1404. exists in the directory where the HydraCom executable resides, and if
  1405. it does, scan it for options. This is always done first, regardless of
  1406. what interface method is used to pass other commands and options. By
  1407. <exename>.CFG we mean that, if for instance the HydraCom executable is
  1408. named HydraCom.EXE, the name of the configuration file checked for
  1409. would be HydraCom.CFG. C:\WORK\HC.EXE will search for C:\WORK\HC.CFG.
  1410. Each line in the configuration file may contain an option and possible
  1411. parameters. Everything after a semicolon (;) will be ignored
  1412. (comments).
  1413.  
  1414. ;----------[ sample terminal configuration file ]----------
  1415. port 2
  1416. speed 38400
  1417. receive c:\comms\download\
  1418. nocarrier
  1419. log c:\bbs\hydracom.log
  1420. level 4
  1421.  
  1422. The configuration file may not contain a command (send, get or term).
  1423. Statements on the command-line override those in the configuration
  1424. file.
  1425.  
  1426. You can use the utility HydraCfg to create and edit a default
  1427. configuration file for HydraCom in a more userfriendly environment
  1428. (full-screen windowed, mouse support, information and help texts).
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457. Page 20                                                        HydraCom
  1458.  
  1459.  
  1460.  
  1461. HydraCom                                                        Page 21
  1462.  
  1463. 4   Using HydraCom as an external protocol 
  1464.  
  1465. HydraCom can be used within a lot of, if not all, communication
  1466. programs which support intelligent DOS access like errorlevels,
  1467. shelling to batch files, spawning, etc. Most programs have external
  1468. protocol support themselves, but HydraCom can also work with programs
  1469. which can use only external view or edit programs. In that case you
  1470. can call exactly the same batch file as described for Procomm Plus.
  1471. You could for example put the upload batch file instead of a view
  1472. utility and fill in the download batch file instead of the editor
  1473. utility. When you are asked what file to view, you'd fill in the
  1474. filename(s) to be uploaded.
  1475.  
  1476.  
  1477. 4.1 Interface methods 
  1478.  
  1479.  
  1480. 4.1.1   Opus-style external protocol interface 
  1481.  
  1482. HydraCom can operate as an Opus external protocol driver, as used in
  1483. the Opus bulletin board system and various mailer, BBS and terminal
  1484. packages which utilize the Opus method of calling external protocol
  1485. drivers.
  1486.  
  1487. Upon exit to the external protocol writes an Opus-style control file,
  1488. the name of which depends on the file name of the executable HydraCom.
  1489. If, in your case, HydraCom is called HydraCom.EXE, then Opus will
  1490. write a file called HydraCom.CTL to the drive/path where HydraCom.EXE
  1491. resides, from which HydraCom will read all necessary information about
  1492. the transfer.
  1493. Hydra will create a special Opus-format logfile HydraCom.LOG (in the
  1494. same directory where HydraCom.CTL was stored) which provides the BBS
  1495. software with a list of files that were sent/received.
  1496.  
  1497. The Opus 1.0x method is quite similar to the way Opus 1.10 and later
  1498. versions call external file transfer protocols. HydraCom handles both
  1499. methods. The Opus-protocol interface mechanism is automatically used
  1500. if a .CTL control file is found. If a task number (-tN where N is the
  1501. task number) is specified on the HydraCom commandline, the new method
  1502. is used which merges a task number into the filename of the control
  1503. and log files for multi-line operation. A control file for task 3 when
  1504. calling HydraCom.EXE would be named HydraC03.CTL.
  1505. Note: any commandline parameters after the -tN option are ignored,
  1506. HydraCom immediately proceeds with processing the .CTL file.
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519. HydraCom                                                        Page 21
  1520.  
  1521.  
  1522.  
  1523. Page 22                                                        HydraCom
  1524.  
  1525. HydraCom uses the -pN (port number, 0 based) and -bN (speed) from the
  1526. commandline, other Opus-style parameters are ignored.
  1527. In the .CTL file the following Opus-style options and commands are
  1528. used and fully implemented in HydraCom:
  1529.  
  1530.     port    Com port, identical to the 'port' commandline option.
  1531.     baud    Com speed, like the 'speed' commandline option.
  1532.     modem   Extended modem information like real line speed, handshake
  1533.             options, carrier mask.
  1534.     log     Log file, identical to the 'log' commandline option.
  1535.     upload  Where received files are to be stored; like the 'receive'
  1536.             commandline option.
  1537.     send    Specification of file(s) to be sent; DOS wildcards are
  1538.             allowed, as well as the special transfer options. If the
  1539.             file specification is preceded by a # character, the
  1540.             specified files will be truncated to zero-length after
  1541.             successful transmission. A ^ character has the files
  1542.             deleted after successful transmission. If another name is
  1543.             specified on the same line (no path), this name is given to
  1544.             the remote instead of the real name (aliasing).
  1545.     get     As Hydra is a full duplex protocol, this command is
  1546.             completely ignored.  A receive path should be specified
  1547.             using the 'upload' or 'receive' option.
  1548.  
  1549. Other (unknown to HydraCom) Opus-style commands are just ignored.
  1550. All HydraCom commandline options (not commands!) be also be present in
  1551. a .CTL file.
  1552. Take care that all options are listed in the .CTL before the first
  1553. 'send' line, otherwise those options will not have been read yet.
  1554.  
  1555.  
  1556. 4.1.2   DSZ-style external protocol interface 
  1557.  
  1558. HydraCom can be called by any program using the DSZ style of passing
  1559. options/commands; of course the options and commands differ from DSZ,
  1560. but the basic mechanism is the same with support for @ctlfiles and
  1561. usage of the DSZLOG environment variable. For more information on the
  1562. format of the DSZ result logfile, see the section about the 'result'
  1563. option.
  1564.  
  1565.  
  1566. 4.1.3   Exit codes (errorlevels) 
  1567.  
  1568. Some programs check error codes to decide whether a transfer has been
  1569. completed successfully or not. HydraCom uses the following
  1570. errorlevels:
  1571.  
  1572.       0 Normal termination
  1573.       1 Transfer aborted, carrier lost, etc.
  1574.     255 System error: not enough memory, etc.
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581. Page 22                                                        HydraCom
  1582.  
  1583.  
  1584.  
  1585. HydraCom                                                        Page 23
  1586.  
  1587. 4.2 Using HydraCom with terminal programs 
  1588.  
  1589.  
  1590. 4.2.1   Telix 
  1591.  
  1592. Telix 3.15 supports up to 4 external protocols, 3.20 supports 5.
  1593. You need to create a single batchfile (HYDRAUP.BAT) with one line:
  1594.  
  1595. HYDRACOM port %2 speed %1 uploads D:\DL\ send %3 %4 %5 %6 %7 %8 %9
  1596. (change D:\DL\ to the path of your own download directory)
  1597.  
  1598. Start Telix, and from the main terminal window press Alt-O (Configure
  1599. Telix), select option P (Protocol options) and select a free protocol
  1600. line (A-D/E) (or replace an unused protocol):
  1601.  
  1602.         Key                     H
  1603.         Protocol name           Hydra
  1604.         Upload filename         HYDRAUP
  1605.         Download filename       HYDRAUP
  1606.         BAT or script           Batch
  1607.         DL name                 NO
  1608.         Autodownload string    (press ctrl-X)cA\f5\
  1609.         (autodownload string only available in Telix 3.20)
  1610.  
  1611. Now press ENTER (returns to configure Telix) and select option W
  1612. (Write setup to disk). Telix will automatically return to the main
  1613. terminal window.
  1614.  
  1615.  
  1616. 4.2.2   Communique  
  1617.  
  1618. HydraCom batchfile that can be used for Communique:
  1619.  
  1620. @echo off
  1621. rem HydraCom installation under Communique 1.0x
  1622. rem -------------------------------------------
  1623. rem Name    : Hydra
  1624. rem Key     : 1
  1625. rem Upload  : CU_Hydra.BAT *C *B *D *U *G
  1626. rem Download: CU_Hydra.BAT *C *B *D *U
  1627. cls
  1628. HydraCom port %1 speed %2 nocarrier handshake receive %3 send %5
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643. HydraCom                                                        Page 23
  1644.  
  1645.  
  1646.  
  1647. Page 24                                                        HydraCom
  1648.  
  1649. 4.2.3   Commo 
  1650.  
  1651. Add the following to your COMMO.MAC file in the appropriate places:
  1652.  
  1653.  (the upload protocol menu)
  1654.    HydraCom       using HYDRACOM.EXE              {goto phyd}
  1655.  (the download protocol menu)
  1656.    HydraCom       using HYDRACOM.EXE              {goto phyd}
  1657.  (no download macro, just uses uploade macro)
  1658.  (upload macros)
  1659.    HydraCom    {:phyd} {call gfnu}
  1660.                        {exec-a HYDRACOM por %_por spe %_spe han
  1661.                        hard rec %uldir sen %file} {}  HYDRACOM.EXE
  1662.  
  1663. And the following line to your COMMO.SET file:
  1664.     {aut=phyd,^XcA\f5\a3^Xa}      Auto Receive, HydraCom
  1665.  
  1666.  
  1667. 4.2.4   Procomm Plus 
  1668.  
  1669. This has been tried and found to work with the Procomm+ TestDrive
  1670. version. For use with Procomm Plus, you need to create one batch file
  1671. which calls HydraCom:
  1672.  
  1673. HydraCom port 1 line 2400 receive D:\DL\ send %1 %2 %3 %4 %5 %6
  1674. (change D:\DL\ to the path of your own download directory)
  1675.  
  1676. Procomm+ does not provide the line speed, comport number or the path
  1677. to store received files; you should fill them in yourself.
  1678. It's not terribly user-friendly and it may cause you trouble. But
  1679. there's not much you can do about it except get different terminal
  1680. software.
  1681.  
  1682. You should specify the batch file in the Procomm Plus protocol set-up
  1683. menu. From the Procomm Plus main menu, press Alt-S (Setup Utility),
  1684. then choose PROTOCOL OPTIONS and take an empty pair of entries, either
  1685. A-B, C-D or E-F, if you would choose A-B, then press A, fill in the
  1686. HydraCom upload batchfilename (HPCU) without extention, and press
  1687. ENTER. Then press B, fill in HPCD and press ENTER. Then press escape,
  1688. select the SAVE SETUP option, and press escape again.
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705. Page 24                                                        HydraCom
  1706.  
  1707.  
  1708.  
  1709. HydraCom                                                        Page 25
  1710.  
  1711. 4.2.5   TeleMate 
  1712.  
  1713. Create a batchfile, to be placed in the TM home directory:
  1714.  
  1715. HydraCom.EXE port %2 speed %1 receive D:\DL\ send %3
  1716. (change D:\DL\ to the path of your own download directory)
  1717.  
  1718. Now start TeleMate and from within the TeleMate main terminal window,
  1719. press Alt-O (Options).
  1720. Select option P (Protocol). Select a free protocol line, or replace an
  1721. unused protocol:
  1722.  
  1723.         Name                    Hydra
  1724.         Key                     H
  1725.         Upload batch            HYDRAUP
  1726.         Download batch          HYDRAUP
  1727.         Prompt for dl name      NO 
  1728.  
  1729.  
  1730. Exit the protocol window with the OK selection (returns to 'Options'
  1731. window), select option S (Save options) and press ESC (back to main
  1732. terminal window).
  1733.  
  1734.  
  1735. 4.2.6   Boyan 
  1736.  
  1737. To use HydraCom with this program, run Boyan and press Atl-C
  1738. (Configure BOYAN) from the main terminal window. After this, select
  1739. option D (Disk, directory, files) and then option H (Path for external
  1740. protocols)
  1741. Now enter the drive and path where HydraCom.EXE can be found, don't
  1742. forget the trailing backslash '\'. Then press ENTER (finish entry). 
  1743. Press ESC (returns to 'configure BOYAN' screen), select option X
  1744. (External transfer protocols) and select a free protocol line entry
  1745. (0-9).
  1746.  
  1747. Protocol name           Hydra
  1748. Menu letter             H
  1749. External file           HydraCom
  1750. Prompt for DL-name?     NO
  1751. Upload      \DC-[%P:HydraCom port %MD speed %MS rec dl>\ send %TF]
  1752. Download    \DC-[%P:HydraCom port %MD speed %MS rec dl>\ get]
  1753.  
  1754. (Don't forget to specify the downloadpath including the trailing '\')
  1755. Press ENTER (finish entry). Then press ESC (returns to 'configure
  1756. BOYAN' screen) and, again, press ESC (back to main terminal window)
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767. HydraCom                                                        Page 25
  1768.  
  1769.  
  1770.  
  1771. Page 26                                                        HydraCom
  1772.  
  1773. 4.2.7   Qmodem 
  1774.  
  1775. To use HydraCom with the Qmodem communications package, enter Qmodem,
  1776. and from the main terminal window, press Alt-N (Configure Qmodem) Then
  1777. select option P (Protocols) and select a free protocol line entry
  1778. (0-9).
  1779.  
  1780.         Select character        H
  1781.         Protocol                Hydra 
  1782.         Upload BAT              HYDRAUP.BAT
  1783.         Download BAT            HYDRAUP.BAT
  1784.         Filename Prompt         N
  1785.  
  1786. Finished? press ESC (returns to 'Protocols' window) and again, press
  1787. ESC (returns to 'Configure Qmodem' window), select option E (Exit) and
  1788. select option S (Save Changes) Qmodem will then automatically return
  1789. to the main terminal window.
  1790.  
  1791. The batchfile (placed in the Qmodem home directory):
  1792.  
  1793. HydraCom port %2 speed %1 receive D:\DL\ send %3 %4 %5 %6 %7 %8 %9
  1794. (change D:\DL\ to the path of your own download directory)
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829. Page 26                                                        HydraCom
  1830.  
  1831.  
  1832.  
  1833. HydraCom                                                        Page 27
  1834.  
  1835. 4.3 Using HydraCom with BBS software 
  1836.  
  1837.  
  1838. 4.3.1   Maximus 
  1839.  
  1840. Protocol Hydra
  1841.     Type            Batch
  1842.     Type            Bi
  1843.  
  1844.     LogFile         Hydra%K.Log
  1845.     ControlFile     Hydra%K.Ctl
  1846. ; Put in NOS (nostamp) to not retain date/time on received files
  1847.     DownloadCmd     HydraCom.Exe por %P spe %W lin %b dro nor nob res
  1848. %x:Hydra%K.Log rec %v sen @%x:Hydra%K.Ctl
  1849.     UploadCmd       HydraCom.Exe por %P spe %W lin %b dro nor nob res
  1850. %x:Hydra%K.Log rec %v get
  1851.     DownloadString  %s
  1852.     UploadString
  1853.     DownloadKeyword H
  1854.     UploadKeyword   R
  1855.     FilenameWord    10
  1856.     DescriptWord    0
  1857. End Protocol
  1858.  
  1859. Note that the DownloadCmd and UploadCmd lines are both a bit long and
  1860. therefore wrapped in this document.
  1861.  
  1862. Maximus would also be capable of using the Opus mechanism instead of
  1863. using DSZ-style, but Maximus 2.00 and 2.01wb have a bug in that code
  1864. which causes it to pass invalid data in the controlfile.
  1865.  
  1866.  
  1867. 4.3.2   Opus 
  1868.  
  1869. Opus expects you to specify the path and file name of HydraCom in your
  1870. Opus control file. Usually, you would want the user to invoke Hydra
  1871. with the H keystroke, so the name of the HydraCom executable should
  1872. start with a H, like HydraCom.EXE. In this case, you should add an
  1873. external file transfer protocol line to your Opus control file which
  1874. (in case HydraCom.EXE resides in the c:\opus directory) reads:
  1875.  
  1876. External_file_protocol C:\OPUS\HydraCom.EXE
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891. HydraCom                                                        Page 27
  1892.  
  1893.  
  1894.  
  1895. Page 28                                                        HydraCom
  1896.  
  1897. 4.3.3   QuickBBS and RemoteAccess (FileDoor) 
  1898.  
  1899. You can offer HydraCom from QuickBBS, RemoteAccess and similar
  1900. packages with the FileDoor program. For that, you would have to add
  1901. the specifications for HydraCom to your filedoor configuration file:
  1902.  
  1903. Protocol 96 T U 20 0 Hydra
  1904. Usage 0 0 N Y 38400
  1905. BiDSZ HYDRACOM.EXE por $1 spe 38400 lin $2 nob rec $8 sen $3 $M
  1906.  
  1907. Protocol 96 T D 20 0 Hydra
  1908. Usage 0 0 N Y 38400
  1909. BiDSZ HYDRACOM.EXE por $1 spe 38400 lin $2 nob rec $8 sen $3 $M
  1910.  
  1911. These settings only apply if you use a modem locked at 38400.
  1912. For information about which settings to change for your modem, please
  1913. refer to the FileDoor documentation and config comments.
  1914.  
  1915.  
  1916. 4.3.4   RBBS-PC 
  1917.  
  1918. RBBS-PC uses a file called PROTO.DEF to define the external protocols.
  1919. Here is a sample PROTO.DEF. Please refer to the RBBS-PC documentation
  1920. for information concerning the syntax. 
  1921.  
  1922. "H)ydra
  1923. ",0,S,8,,B,1024,,0.96,,1=E,"D:HydraCom.EXE port [PORT#] speed [BAUD]
  1924. dropdtr result D:XFER-[NODE].DEF send [FILE]","D:HydraCom.EXE port
  1925. [PORT#] speed [BAUD] dropdtr result D:XFER-[NODE].DEF get [FILE]"
  1926.  
  1927. It is one physical line which should not have any CR/LF in the middle.
  1928.  
  1929.  
  1930. 4.3.5   Wildcat! 
  1931.  
  1932. Wildcat! is a commercial Bulletin Board package, this paragraph will
  1933. cover the implementation of HydraCom within the Testdrive version. You
  1934. should create a path to your external protocols, like C:\WILDCAT\EP,
  1935. where you should store all files related to external file transfers.
  1936. Wildcat! will also temporarily store the sent and received files
  1937. there. You should also specify this path in the Wildcat! set-up
  1938. program, (MakeWild) and don't forget to add to the number of external
  1939. transfer protocols, also in the set-up program. After that, you should
  1940. define HydraCom within the external protocol definition part of the
  1941. set-up. LTR defines the key which a user should press in order to
  1942. invoke the transfer batch file. At the Up.BAT position, you should
  1943. define the HydraCom upload batch file and at the Dn.BAT you should
  1944. define the HydraCom download batch file. Setting the Batch field to
  1945. Y(es) will allow a batch (multiple files) of files for up- or
  1946. downloading, this is recommended, though the test-drive version does
  1947. not support batch uploads. Please note that users cannot invoke
  1948. external protocols during the period between an event and two hours
  1949. before the start of that event.
  1950.  
  1951.  
  1952.  
  1953. Page 28                                                        HydraCom
  1954.  
  1955.  
  1956.  
  1957. HydraCom                                                        Page 29
  1958.  
  1959. Wildcat! spawns to dos upon exit to HydraCom and will assign the baud
  1960. rate to DOS variable %1, the communications port is assigned to
  1961. variable %2 and the file name(s) (without path) are assigned from
  1962. variable %3 to variable %9. The batch files must be located in the
  1963. external protocol directory. Your download batch file would be:
  1964.  
  1965. CD \WILDCAT\EP
  1966. HydraCom.EXE port %2 speed %1 sz %3 %4 %5 %6 %7 %8 %9
  1967. CD \WILDCAT
  1968.  
  1969. and your upload batch file could, for example, become:
  1970.  
  1971. CD \WILDCAT\EP
  1972. HydraCom.EXE port %2 speed %1 rz [%3] 
  1973. COPY %3 [%5]%4
  1974. DEL %3
  1975.  
  1976. where the %3 variable denominates the file which is to be received,
  1977. but this does not need to be specified to make HydraCom receive a
  1978. file. Variable %4 contains the path to an upload directory which has
  1979. been specified by the user and variable %5 contains the full drive,
  1980. path and file name. The latter two variables can be useful in the
  1981. batch file which calls HydraCom, for example to move files directly to
  1982. an upload area. These batch files should be named according to the
  1983. batch file names which you filled in under Up.BAT and Dn.bat in the
  1984. MakeWild set-up program. To allow as many (seven, %3 to %9) files to
  1985. be downloaded in one batch as possible, Wildcat! does not use a path,
  1986. but only uses the external protocol directory. Wildcat! will copy
  1987. files which are to be sent to this directory (and delete them after
  1988. the transfer) and will receive files into this directory, a DOS
  1989. command line is limited to 128 characters, so this saves a path
  1990. denomination before each file.
  1991.  
  1992. You can edit PROTOCOL.HLP and add information about HydraCom to it for
  1993. your users.
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015. HydraCom                                                        Page 29
  2016.  
  2017.  
  2018.  
  2019. Page 30                                                        HydraCom
  2020.  
  2021. 4.3.6   XBBS 
  2022.  
  2023. The internal XBBS version 1.06 method:
  2024. XBBS needs a PROTOCOL.TXT, which is made into PROTOCOL.CTL by
  2025. XPROTO.COM. You could add the next lines to PROTOCOL.TXT in order to
  2026. install HydraCom in your XBBS.
  2027.  
  2028. ;sample PROTOCOL.TXT for HydraCom
  2029. Hydra                                      ;Protocol label
  2030. H                                          ;Key to select protocol
  2031. 96                                         ;Protocol efficiency
  2032. C:\XBBS\HydraCom.EXE PORT *p SPEED *B send *F;Download string
  2033. C:\XBBS\HydraCom.EXE PORT *p SPEED *B get   ;Upload string
  2034. type a dozen CTRL-X's                      ;Abort string
  2035. Y                                          ;Wildcards?
  2036. Y                                          ;Multiple file names?
  2037. Y                                          ;Simultaneous U/D?
  2038. Y                                          ;use @listfile?
  2039. Y                                          ;remote filename?
  2040. Y                                          ;Use DSZlog?
  2041. N                                          ;not yet used
  2042. N                                          ;not yet used
  2043.  
  2044. Please refer to the XBBS documentations for the exact meaning of the
  2045. PROTOCOL.TXT statements.
  2046. Then run XPROTO PROTOCOL.TXT in the XBBS home directory and you got
  2047. yourself a PROTOCOL.CTL with HydraCom.
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077. Page 30                                                        HydraCom
  2078.